
package com.hlkj.pay.app.order;
/*
 * Hlpay-Plus aggregate payment system.
 * Copyright (c) 2024-2025 Hlpay Team Copyright has the right of final interpretation.
 */

import javax.validation.Valid;

import com.hlkj.framework.common.pojo.CommonResult;
import com.hlkj.pay.vo.openapi.order.resp.SubsidyOrderApiResp;
import com.hlkj.pay.vo.openapi.order.resp.SubsidyRefundOrderApiResp;
import com.hlkj.pay.vo.order.req.SubsidyOrderParamReq;
import com.hlkj.pay.vo.order.req.SubsidyOrderQueryParamReq;
import com.hlkj.pay.vo.order.req.SubsidyRefundOrderParamReq;
import com.hlkj.pay.vo.order.req.SubsidyRefundOrderQueryParamReq;

/**
 * @author HlpayTeam
 * @date 2024/10/09 13:50
 */
public interface ISubsidyOrderAppService {
    /**
     *
     * @param paramReqParams
     * @return
     */

    CommonResult<SubsidyOrderApiResp> submitSubsidyOrder(@Valid SubsidyOrderParamReq paramReqParams);

    /**
     *
     * @param paramReqParams
     * @return
     */
    CommonResult<SubsidyRefundOrderApiResp> refundSubsidyOrder(@Valid SubsidyRefundOrderParamReq paramReqParams);

    /**
     *
     * @param subsidyOrderQueryParamReq
     * @return
     */
    CommonResult<SubsidyOrderApiResp> querySubsidyOrder(SubsidyOrderQueryParamReq subsidyOrderQueryParamReq);

    /**
     *
     * @param paramReqParams
     * @return
     */
    CommonResult<SubsidyRefundOrderApiResp> queryRefundSubsidyOrder(SubsidyRefundOrderQueryParamReq  paramReqParams);



}
